using imitateMacQQ.WebApi.Domain.CircleServe.Entity.dao;
using imitateMacQQ.WebApi.Domain.CircleServe.Entity.dto;
using imitateMacQQ.WebApi.Domain.Request.utils;
using imitateMacQQ.WebApi.Repository.EFCore.Model;

namespace imitateMacQQ.WebApi.Domain.CircleServe.Interface;

public interface ITalkInfo
{
    /// <summary>
    /// 发布评论
    /// </summary>
    /// <param name="dto"></param>
    /// <returns></returns>
    public Task<Request<bool>> SendRemarks(TalkRemark dto);

    /// <summary>
    /// 删除评论
    /// </summary>
    /// <param name="uid">评论信息UID</param>
    /// <returns></returns>
    public Task<Request<bool>> DelRemarks(string uid);

    /// <summary>
    /// 获取评论对话内容(单人查询接口)
    /// </summary>
    /// <param name="send"></param>
    /// <param name="accept"></param>
    /// <param name="remark"></param>
    /// <returns></returns>
    public Task<Request<UsrTalk[]>> GetUsrTalk(string send, string accept, string remark);
    /// <summary>
    /// 获取该朋友圈所有评论
    /// </summary>
    /// <param name="remark">识别号</param>
    /// <returns></returns>
    public Task<Request<UsrTalk[]>> GetAllTalk(string remark);

    /// <summary>
    /// 评论通知
    /// </summary>
    /// <param name="db"></param>
    /// <param name="dto"></param>
    /// <param name="uid"></param>
    /// <param name="time"></param>
    /// <returns></returns>
    public Task<bool> SendMes(DataDbContext db, TalkRemark dto, string uid, DateTime time);
    
}